Feature-Driven Program Understanding Using Concept Analysis of Execution Traces
نویسندگان
چکیده
The first task of a programmer who wants to understand how a certain feature is implemented is to localize the implementation of the feature in the code. If the implementations of a set of related features are to be understood, a programmer is interested in their commonalities and variabilities. For large and badly documented programs, localizing features in code and identifying commonalities and variabilities of components and features can be difficult and time-consuming. It is useful to derive this information automatically. The feature-component correspondence describes which components are needed to implement a set of features and what are the respective commonalities and variabilities of features and components. This paper describes a new technique to derive the feature-component correspondence utilizing dynamic information and concept analysis. The method is simple to apply, cost-effective, largely language-independent, and can yield results quickly.
منابع مشابه
Applying Semantic Analysis to Feature Execution Traces
Recently there has been a revival of interest in feature analysis of software systems. Approaches to feature location have used a wide range of techniques such as dynamic analysis, static analysis, information retrieval and formal concept analysis. In this paper we introduce a novel approach to analyze the execution traces of features using Latent Semantic Indexing (LSI). Our goal is twofold. O...
متن کاملDetecting Program Execution Phases Using Heuristic Search
Understanding a program from its execution traces is extremely difficult because a trace consists of thousands to millions of events, such as method calls, object creation and destruction, etc. Nonetheless, execution traces can provide valuable information, once abstracted from their low-level events. We propose to identify feature-level phases based on events collected from traces of the progr...
متن کاملInjecting Execution Traces into a Model-Driven Framework for Program Analysis
Model-Driven Engineering (MDE) has been successfully used in static program analysis. Frameworks like MoDisco inject the program structure into a model, available for further processing by query and transformation tools, e.g., for program understanding, reverse-engineering, modernization. In this paper we present our first steps towards extending MoDisco with capabilities for dynamic program an...
متن کاملAspect Oriented UML to ECORE Model Transformation
With the emerging concept of model transformation, information can be extracted from one or more source models to produce the target models. The conversion of these models can be done automatically with specific transformation languages. This conversion requires mapping between both models with the help of dynamic hash tables. Hash tables store reference links between the elements of the source...
متن کاملTools for a Model-driven Instrumentation for Monitoring
The performance of parallel and distributed systems depends significantly on how the programs’ execution is dynamically organized. Therefore, performance evaluation and efficient programming of parallel and distributed systems need the analysis of the internal behavior of such systems. For this purpose event-driven monitoring is an appropriate technique. Eventdriven monitoring reduces the dynam...
متن کامل